I. Field of the Disclosure
The technology of the disclosure relates generally to communication buses in computing devices.
II. Background
Computing devices have become common in nearly every facet of daily life. Whether a computing device is mobile, such as a smart phone or a tablet device, or relatively stationary, such as a desktop computer, such computing devices are typically formed from a variety of elements that are communicatively coupled to one another through a communication bus. For example, an application processor may communicate with a modem processor across the communication bus within the computing device.
While there are myriad communication buses complying with different standards, a common type of communication interface is the peripheral component interface (PCI), which has a number of popular variants such as the PCI express (PCIe) standard. The PCIe specification defines a complex mechanism for detecting the number of devices coupled to a PCIe communication bus and the width (expressed as a number of lanes) of each device's link. This mechanism does not make any assumptions about the number or types of devices, and relies only on receiver probing and lane numbering to detect topology. Accordingly, this mechanism is relatively time consuming
In situations where the topology is (or can be) dynamic, the mechanism's worth is fully established. For example, in a desktop computing device or server, a user may connect or disconnect a variety of add-in cards to the communication bus. Because the link width may vary between add-in cards, the mechanism allows the host of the communication bus to learn the link width of any newly inserted add-in card and act accordingly. While the mechanism is sufficiently robust for such dynamic environments, the mechanism is arguably over-engineered for static environments. Accordingly, there may be ways to reduce the amount of time spent on link training in static communication bus configurations. Such time savings may save power or reduce delays in system initialization or restarts.